using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Lesson12 : MonoBehaviour
{
    public Button btn;
    // Start is called before the first frame update
    void Start()
    {
        #region 知识点一 调试指的是什么？
        //我们在这里提到的调试，主要指的是 安卓手机的真机调试
        //我们在开发前期，开发测试功能都是在Unity内完成的
        //当我们真正把发布的 apk 安装到手机上运行时
        //由于运行环境的改变（开发时在 Windows 或 MacOS，使用时在Android或IOS）
        //我们很多时候需要在真机上进行项目的 性能分析 和 bug处理（断点调试修复bug）

        //那么这时我们就需要学习如何通过Unity连接真机 来进行项目调试了
        //我们这节课就来学习这些内容
        #endregion

        #region 知识点二 准备测试用安卓手机
        //1.安卓手机需要打开开发者模式
        //  可以根据自己的手机品牌自行搜索开启方式
        //  一般的操作方式：设置——>关于手机——>版本号（点击n次版本号）
        //  便可开启

        //2.完成第一步后，在手机的开发者选项中 开启 USB调试功能
        //  一般开发者选项会在：设置——>系统——>开发者选项中
        //  找到USB调试功能 开启它

        //3.将手机通过USB接入到你的电脑上，在手机上一般会弹出一个提示
        //  选择允许进行USB调试
        #endregion

        #region 知识点三 在Unity中进行调试相关设置
        //在 File ——> Build Settings 中进行调试相关的设置
        //1. 完成知识点一相关内容后，可以在 Run Device 的设备列表中看到你的安卓设备
        //   如果Refresh刷新后也无法看到你的设备，证明你的连接有问题，或没有开启USB调试模式
        //   首先去完成知识点一

        //2. 调试相关设置
        //   剖析器 性能问题排查相关（勾选了他们，我们才能在Unity的剖析器中获取完整信息）
        //   开启 Development Build 开发模式构建
        //   开启 Autoconnect Profiler 自动连接分析器
        //   开启 Deep Profiling 深度剖析

        //   断点 调试相关（勾选了他们，我们才能进行断点调试）
        //   开启 Script Debuggins 脚本调试
        //   开启 Wait For Managed Debugger 等待托管调试器

        //3. 项目基本的发布设置相关内容一定要设置正确
        //   比如：包名、项目名、公司名、密钥库等等
        #endregion

        #region 知识点四 Unity连接安卓真机进行项目调试
        //点击Build and Run
        //这时Unity会自动发布apk应用该程序，然后安装到设备上自动启动

        //这时我们就可以
        //1. 利用Unity的 剖析器来分析应用程序
        //2. 进行断点调试，排查问题

        //注意：如果想要断点调试，自动启动应用程序后，弹出的提示窗口 不要点击OK
        //先在VS中 工具栏——>调试——>附加 Unity 调试程序——>选择对应的设备
        //再在运行的应用程序中点击ok

        btn.onClick.AddListener(() =>
        {
            print("123123");
        });
        #endregion

        #region 总结
        //使用Unity进行安卓真机调试，相对比较简单
        //只要保证以下几点即可
        //1. 能够正常发布 apk
        //2. 安卓手机开启了 开发者模式 并启动了USB调试功能
        //3. 正确的进行相关Build Settings的设置
        //4. 断点调试时，先让VS关联设备
        #endregion
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}
